# 作者：陈睿-cruise
# 2025年02月19日16时13分00秒
# 2979386061@qq.com
import threading
import time

# 定义一个简单的任务
def worker():
    print(f"Worker thread started, sleeping for 5 seconds...")
    time.sleep(5)
    print(f"Worker thread finished")

# 第一种方式：使用 daemon 属性
def thread_with_daemon_property():
    thread = threading.Thread(target=worker)
    thread.daemon = True  # 设置为守护线程
    thread.start()

# 第二种方式：在创建线程时使用 daemon 参数
def thread_with_daemon_param():
    thread = threading.Thread(target=worker, daemon=True)  # 设置为守护线程
    thread.start()

if __name__ == "__main__":
    print("Main thread started")

    # 使用第一种方式设置守护线程
    thread_with_daemon_property()

    # 使用第二种方式设置守护线程
    thread_with_daemon_param()

    # 主线程睡眠 2 秒钟，让我们看到守护线程的行为
    time.sleep(2)

    print("Main thread finished")
